简书链接:as任意项目smali调试方法另外一种方案
文章字数:440,阅读全文大约需要1分钟

  1. 反编译smali代码
  2. android studio 导入smali源代码项目
    具体参考我另外一篇文章,https://www.jianshu.com/p/e93e1d6a2ffc

然后新建remote 设置端口为8700
image.png

然后编辑端口
image.png
网上说改成8700实际上应该可改可不改。
然后点击确定就得到了一个。

  1. 获取要调试进程的端口号
    adb shell ps|grep 要调试包名或者进程名

image.png
如得到的进程是2069
输入
adb forward tcp:8700 jdwp:2029 输入成功没有任何提示的。

  1. 运行可得知结果

image.png

转发端口错误解决

提示端口被占用输入

netstat -ano|findstr 8700
taskkill /f /pid 进程pid杀死

端口冲突

解决冲突

17:57 Error running 'Unnamed': Unable to open debugger port (localhost:8700): java.io.IOException "handshake failed - connection prematurally closed"

表示没有转发

18:19 Error running 'Unnamed': Unable to open debugger port (localhost:8700): java.net.SocketException "Connection reset"

其他冲突问题。